
phase6.o：     文件格式 elf64-x86-64


Disassembly of section .text:

0000000000000000 <sSdTChpfLt>:
   0:	55                   	push   %rbp
   1:	48 89 e5             	mov    %rsp,%rbp
   4:	89 7d dc             	mov    %edi,-0x24(%rbp)
   7:	48 b8 7a 4b 69 6b 4f 	movabs $0x7372784f6b694b7a,%rax
   e:	78 72 73 
  11:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
  15:	48 b8 6b 43 58 65 57 	movabs $0x6c4a4e576558436b,%rax
  1c:	4e 4a 6c 
  1f:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
  23:	c6 45 f0 00          	movb   $0x0,-0x10(%rbp)
  27:	c7 45 fc 11 00 00 00 	movl   $0x11,-0x4(%rbp)
  2e:	83 7d dc 00          	cmpl   $0x0,-0x24(%rbp)
  32:	78 14                	js     48 <sSdTChpfLt+0x48>
  34:	8b 45 dc             	mov    -0x24(%rbp),%eax
  37:	3b 45 fc             	cmp    -0x4(%rbp),%eax
  3a:	7d 0c                	jge    48 <sSdTChpfLt+0x48>
  3c:	8b 45 dc             	mov    -0x24(%rbp),%eax
  3f:	48 98                	cltq
  41:	0f b6 44 05 e0       	movzbl -0x20(%rbp,%rax,1),%eax
  46:	eb 05                	jmp    4d <sSdTChpfLt+0x4d>
  48:	b8 00 00 00 00       	mov    $0x0,%eax
  4d:	5d                   	pop    %rbp
  4e:	c3                   	ret

000000000000004f <transform_code>:
  4f:	55                   	push   %rbp
  50:	48 89 e5             	mov    %rsp,%rbp
  53:	89 7d fc             	mov    %edi,-0x4(%rbp)
  56:	89 75 f8             	mov    %esi,-0x8(%rbp)
  59:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 60 <transform_code+0x11>
			5c: R_X86_64_GOTPCREL	ygnKvq-0x4
  60:	8b 55 f8             	mov    -0x8(%rbp),%edx
  63:	48 63 d2             	movslq %edx,%rdx
  66:	8b 04 90             	mov    (%rax,%rdx,4),%eax
  69:	83 e0 07             	and    $0x7,%eax
  6c:	83 f8 07             	cmp    $0x7,%eax
  6f:	0f 87 b5 00 00 00    	ja     12a <transform_code+0xdb>
  75:	89 c0                	mov    %eax,%eax
  77:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
  7e:	00 
  7f:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 86 <transform_code+0x37>
			82: R_X86_64_PC32	.rodata+0x44
  86:	8b 04 02             	mov    (%rdx,%rax,1),%eax
  89:	48 63 d0             	movslq %eax,%rdx
  8c:	48 8d 05 00 00 00 00 	lea    0x0(%rip),%rax        # 93 <transform_code+0x44>
			8f: R_X86_64_PC32	.rodata+0x44
  93:	48 01 d0             	add    %rdx,%rax
  96:	ff e0                	jmp    *%rax
  98:	f7 55 fc             	notl   -0x4(%rbp)
  9b:	e9 8e 00 00 00       	jmp    12e <transform_code+0xdf>
  a0:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # a7 <transform_code+0x58>
			a3: R_X86_64_GOTPCREL	ygnKvq-0x4
  a7:	8b 55 f8             	mov    -0x8(%rbp),%edx
  aa:	48 63 d2             	movslq %edx,%rdx
  ad:	8b 04 90             	mov    (%rax,%rdx,4),%eax
  b0:	83 e0 03             	and    $0x3,%eax
  b3:	89 c1                	mov    %eax,%ecx
  b5:	d3 7d fc             	sarl   %cl,-0x4(%rbp)
  b8:	eb 74                	jmp    12e <transform_code+0xdf>
  ba:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # c1 <transform_code+0x72>
			bd: R_X86_64_GOTPCREL	ygnKvq-0x4
  c1:	8b 55 f8             	mov    -0x8(%rbp),%edx
  c4:	48 63 d2             	movslq %edx,%rdx
  c7:	8b 04 90             	mov    (%rax,%rdx,4),%eax
  ca:	f7 d0                	not    %eax
  cc:	21 45 fc             	and    %eax,-0x4(%rbp)
  cf:	eb 5d                	jmp    12e <transform_code+0xdf>
  d1:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # d8 <transform_code+0x89>
			d4: R_X86_64_GOTPCREL	ygnKvq-0x4
  d8:	8b 55 f8             	mov    -0x8(%rbp),%edx
  db:	48 63 d2             	movslq %edx,%rdx
  de:	8b 04 90             	mov    (%rax,%rdx,4),%eax
  e1:	c1 e0 08             	shl    $0x8,%eax
  e4:	09 45 fc             	or     %eax,-0x4(%rbp)
  e7:	eb 45                	jmp    12e <transform_code+0xdf>
  e9:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # f0 <transform_code+0xa1>
			ec: R_X86_64_GOTPCREL	ygnKvq-0x4
  f0:	8b 55 f8             	mov    -0x8(%rbp),%edx
  f3:	48 63 d2             	movslq %edx,%rdx
  f6:	8b 04 90             	mov    (%rax,%rdx,4),%eax
  f9:	31 45 fc             	xor    %eax,-0x4(%rbp)
  fc:	eb 30                	jmp    12e <transform_code+0xdf>
  fe:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 105 <transform_code+0xb6>
			101: R_X86_64_GOTPCREL	ygnKvq-0x4
 105:	8b 55 f8             	mov    -0x8(%rbp),%edx
 108:	48 63 d2             	movslq %edx,%rdx
 10b:	8b 04 90             	mov    (%rax,%rdx,4),%eax
 10e:	f7 d0                	not    %eax
 110:	09 45 fc             	or     %eax,-0x4(%rbp)
 113:	eb 19                	jmp    12e <transform_code+0xdf>
 115:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 11c <transform_code+0xcd>
			118: R_X86_64_GOTPCREL	ygnKvq-0x4
 11c:	8b 55 f8             	mov    -0x8(%rbp),%edx
 11f:	48 63 d2             	movslq %edx,%rdx
 122:	8b 04 90             	mov    (%rax,%rdx,4),%eax
 125:	01 45 fc             	add    %eax,-0x4(%rbp)
 128:	eb 04                	jmp    12e <transform_code+0xdf>
 12a:	f7 5d fc             	negl   -0x4(%rbp)
 12d:	90                   	nop
 12e:	8b 45 fc             	mov    -0x4(%rbp),%eax
 131:	5d                   	pop    %rbp
 132:	c3                   	ret

0000000000000133 <generate_code>:
 133:	55                   	push   %rbp
 134:	48 89 e5             	mov    %rsp,%rbp
 137:	48 83 ec 20          	sub    $0x20,%rsp
 13b:	89 7d ec             	mov    %edi,-0x14(%rbp)
 13e:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 145 <generate_code+0x12>
			141: R_X86_64_GOTPCREL	FlGqQQ-0x4
 145:	8b 55 ec             	mov    -0x14(%rbp),%edx
 148:	89 10                	mov    %edx,(%rax)
 14a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
 151:	eb 22                	jmp    175 <generate_code+0x42>
 153:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 15a <generate_code+0x27>
			156: R_X86_64_GOTPCREL	FlGqQQ-0x4
 15a:	8b 00                	mov    (%rax),%eax
 15c:	8b 55 fc             	mov    -0x4(%rbp),%edx
 15f:	89 d6                	mov    %edx,%esi
 161:	89 c7                	mov    %eax,%edi
 163:	e8 00 00 00 00       	call   168 <generate_code+0x35>
			164: R_X86_64_PLT32	transform_code-0x4
 168:	48 8b 15 00 00 00 00 	mov    0x0(%rip),%rdx        # 16f <generate_code+0x3c>
			16b: R_X86_64_GOTPCREL	FlGqQQ-0x4
 16f:	89 02                	mov    %eax,(%rdx)
 171:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
 175:	8b 45 fc             	mov    -0x4(%rbp),%eax
 178:	83 f8 09             	cmp    $0x9,%eax
 17b:	76 d6                	jbe    153 <generate_code+0x20>
 17d:	c9                   	leave
 17e:	c3                   	ret

000000000000017f <encode_1>:
 17f:	55                   	push   %rbp
 180:	48 89 e5             	mov    %rsp,%rbp
 183:	48 83 ec 20          	sub    $0x20,%rsp
 187:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
 18b:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 18f:	48 89 c7             	mov    %rax,%rdi
 192:	e8 00 00 00 00       	call   197 <encode_1+0x18>
			193: R_X86_64_PLT32	strlen-0x4
 197:	89 45 f8             	mov    %eax,-0x8(%rbp)
 19a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
 1a1:	eb 7a                	jmp    21d <encode_1+0x9e>
 1a3:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1a6:	48 63 d0             	movslq %eax,%rdx
 1a9:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1ad:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
 1b1:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1b4:	48 63 d0             	movslq %eax,%rdx
 1b7:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1bb:	48 01 d0             	add    %rdx,%rax
 1be:	0f b6 00             	movzbl (%rax),%eax
 1c1:	0f be c0             	movsbl %al,%eax
 1c4:	48 8b 15 00 00 00 00 	mov    0x0(%rip),%rdx        # 1cb <encode_1+0x4c>
			1c7: R_X86_64_GOTPCREL	AUePrk-0x4
 1cb:	48 98                	cltq
 1cd:	0f b6 14 02          	movzbl (%rdx,%rax,1),%edx
 1d1:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 1d8 <encode_1+0x59>
			1d4: R_X86_64_GOTPCREL	FlGqQQ-0x4
 1d8:	8b 00                	mov    (%rax),%eax
 1da:	31 d0                	xor    %edx,%eax
 1dc:	83 e0 7f             	and    $0x7f,%eax
 1df:	88 01                	mov    %al,(%rcx)
 1e1:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1e4:	48 63 d0             	movslq %eax,%rdx
 1e7:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1eb:	48 01 d0             	add    %rdx,%rax
 1ee:	0f b6 00             	movzbl (%rax),%eax
 1f1:	3c 1f                	cmp    $0x1f,%al
 1f3:	7e 14                	jle    209 <encode_1+0x8a>
 1f5:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1f8:	48 63 d0             	movslq %eax,%rdx
 1fb:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1ff:	48 01 d0             	add    %rdx,%rax
 202:	0f b6 00             	movzbl (%rax),%eax
 205:	3c 7f                	cmp    $0x7f,%al
 207:	75 10                	jne    219 <encode_1+0x9a>
 209:	8b 45 fc             	mov    -0x4(%rbp),%eax
 20c:	48 63 d0             	movslq %eax,%rdx
 20f:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 213:	48 01 d0             	add    %rdx,%rax
 216:	c6 00 3f             	movb   $0x3f,(%rax)
 219:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
 21d:	8b 45 fc             	mov    -0x4(%rbp),%eax
 220:	3b 45 f8             	cmp    -0x8(%rbp),%eax
 223:	0f 8c 7a ff ff ff    	jl     1a3 <encode_1+0x24>
 229:	8b 45 f8             	mov    -0x8(%rbp),%eax
 22c:	c9                   	leave
 22d:	c3                   	ret

000000000000022e <encode_2>:
 22e:	55                   	push   %rbp
 22f:	48 89 e5             	mov    %rsp,%rbp
 232:	48 83 ec 20          	sub    $0x20,%rsp
 236:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
 23a:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 23e:	48 89 c7             	mov    %rax,%rdi
 241:	e8 00 00 00 00       	call   246 <encode_2+0x18>
			242: R_X86_64_PLT32	strlen-0x4
 246:	89 45 f8             	mov    %eax,-0x8(%rbp)
 249:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
 250:	eb 7a                	jmp    2cc <encode_2+0x9e>
 252:	8b 45 fc             	mov    -0x4(%rbp),%eax
 255:	48 63 d0             	movslq %eax,%rdx
 258:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 25c:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
 260:	8b 45 fc             	mov    -0x4(%rbp),%eax
 263:	48 63 d0             	movslq %eax,%rdx
 266:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 26a:	48 01 d0             	add    %rdx,%rax
 26d:	0f b6 00             	movzbl (%rax),%eax
 270:	0f be c0             	movsbl %al,%eax
 273:	48 8b 15 00 00 00 00 	mov    0x0(%rip),%rdx        # 27a <encode_2+0x4c>
			276: R_X86_64_GOTPCREL	AUePrk-0x4
 27a:	48 98                	cltq
 27c:	0f b6 14 02          	movzbl (%rdx,%rax,1),%edx
 280:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 287 <encode_2+0x59>
			283: R_X86_64_GOTPCREL	FlGqQQ-0x4
 287:	8b 00                	mov    (%rax),%eax
 289:	01 d0                	add    %edx,%eax
 28b:	83 e0 7f             	and    $0x7f,%eax
 28e:	88 01                	mov    %al,(%rcx)
 290:	8b 45 fc             	mov    -0x4(%rbp),%eax
 293:	48 63 d0             	movslq %eax,%rdx
 296:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 29a:	48 01 d0             	add    %rdx,%rax
 29d:	0f b6 00             	movzbl (%rax),%eax
 2a0:	3c 1f                	cmp    $0x1f,%al
 2a2:	7e 14                	jle    2b8 <encode_2+0x8a>
 2a4:	8b 45 fc             	mov    -0x4(%rbp),%eax
 2a7:	48 63 d0             	movslq %eax,%rdx
 2aa:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 2ae:	48 01 d0             	add    %rdx,%rax
 2b1:	0f b6 00             	movzbl (%rax),%eax
 2b4:	3c 7f                	cmp    $0x7f,%al
 2b6:	75 10                	jne    2c8 <encode_2+0x9a>
 2b8:	8b 45 fc             	mov    -0x4(%rbp),%eax
 2bb:	48 63 d0             	movslq %eax,%rdx
 2be:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 2c2:	48 01 d0             	add    %rdx,%rax
 2c5:	c6 00 2a             	movb   $0x2a,(%rax)
 2c8:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
 2cc:	8b 45 fc             	mov    -0x4(%rbp),%eax
 2cf:	3b 45 f8             	cmp    -0x8(%rbp),%eax
 2d2:	0f 8c 7a ff ff ff    	jl     252 <encode_2+0x24>
 2d8:	8b 45 f8             	mov    -0x8(%rbp),%eax
 2db:	c9                   	leave
 2dc:	c3                   	ret

00000000000002dd <do_phase>:
 2dd:	55                   	push   %rbp
 2de:	48 89 e5             	mov    %rsp,%rbp
 2e1:	bf 93 00 00 00       	mov    $0x93,%edi
 2e6:	e8 00 00 00 00       	call   2eb <do_phase+0xe>
			2e7: R_X86_64_PLT32	generate_code-0x4
 2eb:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 2f2 <do_phase+0x15>
			2ee: R_X86_64_GOTPCREL	encoder-0x4
 2f2:	48 8b 40 08          	mov    0x8(%rax),%rax
 2f6:	48 8b 15 00 00 00 00 	mov    0x0(%rip),%rdx        # 2fd <do_phase+0x20>
			2f9: R_X86_64_GOTPCREL	oOOeenUs-0x4
 2fd:	48 89 d7             	mov    %rdx,%rdi
 300:	ff d0                	call   *%rax
 302:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 309 <do_phase+0x2c>
			305: R_X86_64_GOTPCREL	oOOeenUs-0x4
 309:	48 89 c7             	mov    %rax,%rdi
 30c:	e8 00 00 00 00       	call   311 <do_phase+0x34>
			30d: R_X86_64_PLT32	puts-0x4
 311:	5d                   	pop    %rbp
 312:	c3                   	ret
